package net.goutalk.glcs.module.erpModel.caseErpSupplier.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.github.yulichang.base.MPJBaseService;
import net.goutalk.glcs.common.page.PageOutput;
import net.goutalk.glcs.module.erpModel.caseErpSupplier.dto.*;
import net.goutalk.glcs.module.erpModel.caseErpSupplier.entity.CaseErpSupplier;
import net.goutalk.glcs.module.erpModel.caseErpSupplier.vo.*;
import net.goutalk.glcs.module.erpModel.caseErpSupplier.dto.*;
import net.goutalk.glcs.module.erpModel.caseErpSupplier.vo.*;

import java.util.List;

/**
 * <p>
 * 供应商信息【case_erp_supplier】 服务类
 * </p>
 *
 * @author hnyyzy
 * @since 2023-06-25
 */
public interface ICaseErpSupplierService extends MPJBaseService<CaseErpSupplier> {

    String getCodeNumber();

    PageOutput<CaseErpSupplierPageVo> getPageList(CaseErpSupplierPageDto dto);

    Boolean add(AddCaseErpSupplierDto dto) throws JsonProcessingException;

    Boolean outSupplier(SupplierOutDto dto) throws JsonProcessingException;

    Boolean recoverSupplier(SupplierRecoverDto dto) throws JsonProcessingException;

    List<SupplierTypeChartDataVo> getSupplierType();

    CaseErpSupplierInfoVo info(CaseErpSupplier caseErpSupplier);

    List<SupplierRiskVo> risk();

    List<SupplierHistoryPriceVO> historyPrice();

    Boolean addRisk(AddCaseErpSupplierRiskDto dto) throws JsonProcessingException;

}
